package com.mindata.blockchain.core.event;

import com.mindata.blockchain.socket.packet.BlockPacket;
import org.springframework.context.ApplicationEvent;

/**
 * 客户端对外发请求时会触发该Event事件
 *
 * 关于springboot event的相关说明
 * ①listener 是observer模式的一种体现
 * ②初始化事件继承ApplicationEvent 并在构造中传入监听器
 * ③时间是为了bean与bean之间传递信息,使一个bean发送时间后其他的bean可以监听当前bean发送的事件
 * ④定义事件的目的是 一旦容器触发了事件，那么相应的监听器 会受到传入时间的参数,监听事件会使用异步线程吊起，
 * 类似于@Async 区别在于 使用观察者模式 定义事件和监听事件 会生成低耦合
 * @author wuweifeng wrote on 2018/3/17.
 *
 *
 * 自定义数据包事件
 */
public class ClientRequestEvent extends ApplicationEvent {
    public ClientRequestEvent(BlockPacket blockPacket) {
        super(blockPacket);
    }
}
